package com.wiener.core.domain;

import java.io.Serializable;
import java.util.List;

import javax.faces.model.ListDataModel;

import org.primefaces.model.SelectableDataModel;

public class Recibo extends ListDataModel<Recibo> implements SelectableDataModel<Recibo>,Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String documentoIdentidad;
	private String codigo;
	private String categoria;
	private String seccionActual;
	private String nombres;
	private String codigoCarrera;
	private String descripcionCarrera;
	private String codigoInstitucion;
	private String descripcionInstitucion;
	private String descripcionInstitucion2;
	private String modalidadIngreso;
	private String modalidad;
	private String convenio;
	private String observaciones;
	private String codigoSede;
	private String fechaHora;
	private String serie;
	private String lugarPago;
	private String tipoDescuento;
	private String moneda;
	private String tipoCambio;
	private String ruc;
		
	public Recibo(){
		
	}

	
    public Recibo(List<Recibo> data) {
        super(data);
    }
    
    @Override
    public Recibo getRowData(String rowKey) {
        //In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data
        
        List<Recibo> cars = (List<Recibo>) getWrappedData();
        
        for(Recibo car : cars) {
            if(car.getCodigo().equals(rowKey))
                return car;
        }
        
        return null;
    }

    @Override
    public Object getRowKey(Recibo car) {
        return car.getCodigo(); 
    }
	
	public Recibo(String documentoIdentidad, String codigo, String categoria,
			String seccionActual, String nombres, String codigoCarrera,
			String descripcionCarrera, String codigoInstitucion,
			String descripcionInstitucion, String modalidad, String convenio,
			String observaciones,String modalidadIngreso) {
		super();
		this.documentoIdentidad = documentoIdentidad;
		this.codigo = codigo;
		this.categoria = categoria;
		this.seccionActual = seccionActual;
		this.nombres = nombres;
		this.codigoCarrera = codigoCarrera;
		this.descripcionCarrera = descripcionCarrera;
		this.codigoInstitucion = codigoInstitucion;
		this.descripcionInstitucion = descripcionInstitucion;
		this.modalidad = modalidad;
		this.convenio = convenio;
		this.observaciones = observaciones;
		this.modalidadIngreso = modalidadIngreso;
	}

	public String getDocumentoIdentidad() {
		return documentoIdentidad;
	}

	public void setDocumentoIdentidad(String documentoIdentidad) {
		this.documentoIdentidad = documentoIdentidad;
	}

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	public String getCategoria() {
		return categoria;
	}

	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}

	public String getSeccionActual() {
		return seccionActual;
	}

	public void setSeccionActual(String seccionActual) {
		this.seccionActual = seccionActual;
	}

	public String getNombres() {
		return nombres;
	}

	public void setNombres(String nombres) {
		this.nombres = nombres;
	}

	public String getCodigoCarrera() {
		return codigoCarrera;
	}

	public void setCodigoCarrera(String codigoCarrera) {
		this.codigoCarrera = codigoCarrera;
	}

	public String getDescripcionCarrera() {
		return descripcionCarrera;
	}

	public void setDescripcionCarrera(String descripcionCarrera) {
		this.descripcionCarrera = descripcionCarrera;
	}

	public String getCodigoInstitucion() {
		return codigoInstitucion;
	}

	public void setCodigoInstitucion(String codigoInstitucion) {
		this.codigoInstitucion = codigoInstitucion;
	}

	public String getDescripcionInstitucion() {
		return descripcionInstitucion;
	}

	public void setDescripcionInstitucion(String descripcionInstitucion) {
		this.descripcionInstitucion = descripcionInstitucion;
	}

	public String getDescripcionInstitucion2() {
		return descripcionInstitucion2;
	}

	public void setDescripcionInstitucion2(String descripcionInstitucion2) {
		this.descripcionInstitucion2 = descripcionInstitucion2;
	}

	public String getModalidad() {
		return modalidad;
	}

	public void setModalidad(String modalidad) {
		this.modalidad = modalidad;
	}

	public String getConvenio() {
		return convenio;
	}

	public void setConvenio(String convenio) {
		this.convenio = convenio;
	}

	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public String getCodigoSede() {
		return codigoSede;
	}

	public void setCodigoSede(String codigoSede) {
		this.codigoSede = codigoSede;
	}

	public String getFechaHora() {
		return fechaHora;
	}

	public void setFechaHora(String fechaHora) {
		this.fechaHora = fechaHora;
	}

	public String getSerie() {
		return serie;
	}

	public void setSerie(String serie) {
		this.serie = serie;
	}

	public String getLugarPago() {
		return lugarPago;
	}

	public void setLugarPago(String lugarPago) {
		this.lugarPago = lugarPago;
	}

	public String getTipoDescuento() {
		return tipoDescuento;
	}

	public void setTipoDescuento(String tipoDescuento) {
		this.tipoDescuento = tipoDescuento;
	}

	public String getMoneda() {
		return moneda;
	}

	public void setMoneda(String moneda) {
		this.moneda = moneda;
	}

	public String getTipoCambio() {
		return tipoCambio;
	}

	public void setTipoCambio(String tipoCambio) {
		this.tipoCambio = tipoCambio;
	}

	public String getRuc() {
		return ruc;
	}

	public void setRuc(String ruc) {
		this.ruc = ruc;
	}

	
	
	public String getModalidadIngreso() {
		return modalidadIngreso;
	}

	public void setModalidadIngreso(String modalidadIngreso) {
		this.modalidadIngreso = modalidadIngreso;
	}

	@Override
	public String toString() {
		return "Recibo [documentoIdentidad=" + documentoIdentidad + ", codigo="
				+ codigo + ", categoria=" + categoria + ", seccionActual="
				+ seccionActual + ", nombres=" + nombres + ", codigoCarrera="
				+ codigoCarrera + ", descripcionCarrera=" + descripcionCarrera
				+ ", codigoInstitucion=" + codigoInstitucion
				+ ", descripcionInstitucion=" + descripcionInstitucion
				+ ", descripcionInstitucion2=" + descripcionInstitucion2
				+ ", modalidad=" + modalidad + ", convenio=" + convenio
				+ ", observaciones=" + observaciones + ", codigoSede="
				+ codigoSede + ", fechaHora=" + fechaHora + ", serie=" + serie
				+ ", lugarPago=" + lugarPago + ", tipoDescuento="
				+ tipoDescuento + ", moneda=" + moneda + ", tipoCambio="
				+ tipoCambio + ", ruc=" + ruc + "]";
	}

}
